package com.ssy.lingxi.member.merchant.model.vo.validate.request;

import com.ssy.lingxi.member.merchant.handler.annotation.DateStringFormatAnnotation;
import com.ssy.lingxi.member.merchant.model.vo.basic.request.FileUploadVO;

import javax.validation.Valid;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 会员“入库考察”审核接口参数VO
 * @author 万宁
 * @version 2.0.0
 * @date 2021-05-24
 */
public class MemberToInspectDepositVO extends MemberDepositVO implements Serializable {
    private static final long serialVersionUID = 8802055093172615779L;

    /**
     * 考察日期，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation(message = "考察日期格式错误")
    private String inspectDay;

    /**
     * 考察评分
     */
    @NotNull(message = "考察评分最低分0分,最高分100分")
    @Min(value = 0, message = "考察评分最低分0分,最高分100分")
    @Max(value = 100, message = "考察评分最低分0分,最高分100分")
    private BigDecimal score;

    /**
     * 考察结果
     */
    @NotBlank(message = "考察结果不能为空")
    @Size(max = 60, message = "考察结果最长60个字符")
    private String result;

    /**
     * 考察报告
     */
    @NotEmpty(message = "考察报告不能为空")
    @Valid
    private List<FileUploadVO> reports;

    public String getInspectDay() {
        return inspectDay;
    }

    public void setInspectDay(String inspectDay) {
        this.inspectDay = inspectDay;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public List<FileUploadVO> getReports() {
        return reports;
    }

    public void setReports(List<FileUploadVO> reports) {
        this.reports = reports;
    }
}
